#!/usr/bin/python
# -*-coding:UTF-8 -*-

# ========================
# @Time  : 2021/2/24
# @Author: Sunny
# ========================

"""
python中的多线程

"""
import time
from threading import Thread


def work1(name):
    """完成浇花工作"""
    for i in range(6):
        time.sleep(1)
        print(f'{name}浇花的第{i + 1}秒')


def work2(name):
    """完成打墙工作"""
    for i in range(5):
        time.sleep(1)
        print(f'{name}打墙的第{i + 1}秒')


#创建一个线程
#Thread类可以用来创建线程对象
#target：指定线程执行的任务(任务函数)
#args，kwargs:用来接收任务函数的参数
#name：指定线程的名字

t1 = Thread(target=work1,args=('musen',),name='线程一')
t2 = Thread(target=work2,kwargs={'name':'木森'},name='线程二')


# print(t1.name)  #可以打印线程的名字

#启动线程 : 是异步执行状态(不会干扰主程序执行)，
# 所以函数和print()是同时执行，但是print()运行较快，所以控制台才先输出的print()程序
t1.start()
t2.start()
#join()方法：主线程执行等待子线程执行结束，这样子线程和主线程就变成了同步执行，先执行完子线程，再执行主线程
t1.join() #默认等待子线程1执行结束,里面有个timeout参数可以指定等待时间
t2.join() #默认等待子线程1执行结束

print('-------1--------')
print('-------2--------')